:art: observed_days

huangqimin001 3 年之前
父節點
當前提交
5213133bd3
共有 5 個文件被更改,包括 78 次插入5 次删除
  1. 23 0
      account/migrations/0004_auto_20210816_2148.py
  2. 5 4
      api/eqpt_views.py
  3. 1 1
      equipment/admin.py
  4. 48 0
      equipment/migrations/0010_auto_20210816_2148.py
  5. 1 0
      equipment/models.py

+ 23 - 0
account/migrations/0004_auto_20210816_2148.py

@@ -0,0 +1,23 @@
1
+# Generated by Django 3.2.6 on 2021-08-16 13:48
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('account', '0003_auto_20210816_1054'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.AlterField(
14
+            model_name='administratorinfo',
15
+            name='status',
16
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
17
+        ),
18
+        migrations.AlterField(
19
+            model_name='userinfo',
20
+            name='status',
21
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
22
+        ),
23
+    ]

+ 5 - 4
api/eqpt_views.py

@@ -222,8 +222,8 @@ def get_screen_data(point=None, point_id=None):
222 222
     ).values('macid', 'temperature')
223 223
     logs = {log.get('macid'): log.get('temperature') or get_old_temperature(point.point_id, log.get('macid')) for log in logs}
224 224
 
225
-    infos = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True).values('pk', 'fields')
226
-    infos = {info.get('pk'): info.get('fields') for info in infos}
225
+    infos = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True).values('pk', 'fields', 'observed_days')
226
+    infos = {info.get('pk'): {'fields': info.get('fields'), 'observed_days': info.get('observed_days')} for info in infos}
227 227
 
228 228
     total_active_eqpt_num = eqpts.count()
229 229
     has_upload_temperature_num = len(logs)
@@ -232,7 +232,8 @@ def get_screen_data(point=None, point_id=None):
232 232
     eqpts = [{**eqpt.screen_data, **{
233 233
         'has_upload': eqpt.macid in logs,
234 234
         'temperature': logs.get(eqpt.macid, 0),
235
-    }, **{field.get('key', ''): field.get('value', '') for field in infos.get(eqpt.ipui_pk, {})}} for eqpt in eqpts]
235
+        'observed_days': infos.get(eqpt.ipui_pk, {}).get('observed_days', 0),
236
+    }, **{field.get('key', ''): field.get('value', '') for field in infos.get(eqpt.ipui_pk, {}).get('fields', {})}} for eqpt in eqpts]
236 237
     reminds = [{
237 238
         'name': eqpt.get('name'),
238 239
         'room': eqpt.get('room'),
@@ -258,7 +259,7 @@ def get_screen_data(point=None, point_id=None):
258 259
         'temperature': eqpt.get('temperature', ''),
259 260
         'status': '已上报' if eqpt.get('temperature') else '未上报',
260 261
         'last_report_time': eqpt.get('last_submit_at', ''),
261
-        'observed_days': 1,
262
+        'observed_days': eqpt.get('observed_days', 0),
262 263
     } for eqpt in eqpts]
263 264
 
264 265
     return {

+ 1 - 1
equipment/admin.py

@@ -16,7 +16,7 @@ class IsolationPointInfoAdmin(admin.ModelAdmin):
16 16
 
17 17
 
18 18
 class IsolationPointUserInfoAdmin(admin.ModelAdmin):
19
-    list_display = ('point_id', 'user_id', 'fields', 'status', 'updated_at', 'created_at')
19
+    list_display = ('point_id', 'user_id', 'fields', 'observed_days', 'leave_at', 'status', 'updated_at', 'created_at')
20 20
 
21 21
 
22 22
 class ThermometerEquipmentInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):

+ 48 - 0
equipment/migrations/0010_auto_20210816_2148.py

@@ -0,0 +1,48 @@
1
+# Generated by Django 3.2.6 on 2021-08-16 13:48
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('equipment', '0009_auto_20210816_1054'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.AddField(
14
+            model_name='isolationpointuserinfo',
15
+            name='observed_days',
16
+            field=models.IntegerField(default=0, help_text='已测温天数', verbose_name='observed_days'),
17
+        ),
18
+        migrations.AlterField(
19
+            model_name='isolationpointfieldpoolinfo',
20
+            name='status',
21
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
22
+        ),
23
+        migrations.AlterField(
24
+            model_name='isolationpointinfo',
25
+            name='status',
26
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
27
+        ),
28
+        migrations.AlterField(
29
+            model_name='isolationpointuserinfo',
30
+            name='status',
31
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
32
+        ),
33
+        migrations.AlterField(
34
+            model_name='thermometerequipmentinfo',
35
+            name='status',
36
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
37
+        ),
38
+        migrations.AlterField(
39
+            model_name='thermometermeasureinfo',
40
+            name='status',
41
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
42
+        ),
43
+        migrations.AlterField(
44
+            model_name='thermometermeasureloginfo',
45
+            name='status',
46
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
47
+        ),
48
+    ]

+ 1 - 0
equipment/models.py

@@ -142,6 +142,7 @@ class IsolationPointUserInfo(BaseModelMixin):
142 142
 
143 143
     fields = JSONField(_('fields'), default=[], blank=True, null=True, help_text='字段信息')
144 144
 
145
+    observed_days = models.IntegerField(_('observed_days'), default=0, help_text='已测温天数')
145 146
     leave_at = models.DateTimeField(_('leave_at'), blank=True, null=True, help_text='离开时间')
146 147
 
147 148
     remark = JSONField(_('remark'), default=[], blank=True, null=True, help_text='备注')